The Bits Between The Lambdas : Binary Data in a Lazy Functional

نویسندگان

  • Malcolm Wallace
  • Colin Runciman
چکیده

For the programmer, storage media are usually assumed to have a minimum atomic unit of transfer of one byte. However , sometimes it is useful to have an even ner storage granularity of one bit, for instance in order to compress data. This paper describes an API in the lazy functional language Haskell for treating storage media as arbitrary-length streams of bits, without byte-alignment constraints. So far as possible, storage media are treated uniformly. In particular , bit-stream memory and binary les share the same API { a new and useful abstraction over memory management and le management. This uniformity of access leads to a novel technique for lazy random-access to les in a purely functional manner. We also describe a technique for automatically deriving compressed binary representations of user-deened data structures, whose operations provide both in-heap data compression and convenient high-level binary I/O. Of many possible applications, we illustrate the processing of Huuman-encoded image data, and a bibliographic information system which uses lazy B-Trees for eecient storage management.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

In submission Modular , Higher - Order Cardinality Analysis in Theory and Practice

Since the mid 80's, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language , which is both simple and effective, and present measurements o...

متن کامل

Higher - Order Cardinality Analysis Extended version

Since the mid 80’s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity. We describe a new, modular analysis for a higher-order language, which is both simple and effective, and present measurements of its use in ...

متن کامل

In submission Modular , Higher - Order Cardinality Analysis in Theory and Practice

Since the mid 80's, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language , which is both simple and effective, and present measurements o...

متن کامل

Modular, Higher-Order Cardinality Analysis in Theory and Practice Extended version

Since the mid ’80s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language, which is both simple and effective, and present measurements of...

متن کامل

Feature selection using genetic algorithm for classification of schizophrenia using fMRI data

In this paper we propose a new method for classification of subjects into schizophrenia and control groups using functional magnetic resonance imaging (fMRI) data. In the preprocessing step, the number of fMRI time points is reduced using principal component analysis (PCA). Then, independent component analysis (ICA) is used for further data analysis. It estimates independent components (ICs) of...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012